#import <UIKit/UIView.h>

@class NSMutableArray;
@class NSNotification;
@class UIPreferencesTableCell;
@class UIPreferencesTextTableCell;
@class UIPreferencesTable;
@class UIPreferencesControlTableCell;
@class UISwitchControl;
@class UINavigationBar;
@class UITransitionView;
@class UITable;
@class UIApplication;

@interface PreferencesView: UIView
{
	UINavigationBar *navBar;
	
	// transition view
	UITransitionView *view;
	
	// tables
	UIPreferencesTable *prefsTable;
	UITable *hostTable;
	UITable *fontSizeTable;
	
	// host
	UIPreferencesTextTableCell *host;
	UIPreferencesTextTableCell *ipAddress;
	
	// panel
	UISwitchControl *clickSound;
	UIPreferencesControlTableCell *clickSoundCell;
	
	// mouse
	UISwitchControl *mouseMoveAbsolute;
	UISwitchControl *mouseRotateLandscape;
	UIPreferencesControlTableCell *mouseMoveAbsoluteCell, *mouseRotateLandscapeCell;
	
	// text
	UIPreferencesTextTableCell *textFontSize;
	
	// host list
	NSMutableArray *hosts;
	NSArray *fontSizeArray;
}

- (void)dealloc;
- (void)save;

// navigation bar delegate
- (void)navigationBar: (UINavigationBar*)navigationBar buttonClicked: (int)button;

- (id)initWithFrame: (CGRect)frame;
- (void)reloadData;

// delegates
- (void)tableRowSelected: (NSNotification *)notification;

// data sources
- (int)numberOfGroupsInPreferencesTable: (UIPreferencesTable *)table;
- (int)preferencesTable: (UIPreferencesTable *)table numberOfRowsInGroup: (int)group;
- (UIPreferencesTableCell *)preferencesTable: (UIPreferencesTable *)table cellForRow: (int)row inGroup: (int)group;

@end
